package com.party.core.dao.read.commune;

import com.party.common.paging.Page;
import com.party.core.dao.read.BaseReadDao;
import com.party.core.model.commune.CRouteInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 会员到路线起始点的时间和距离读取接口
 * @Date: 2019/10/22 14:25
 */
public interface CRouteInfoReadDao extends BaseReadDao<CRouteInfo> {
    /***
    * 查询路线会员距离和时间
    * @Date 14:35 2019/10/25
    * @param params
    * @param page
    * @return
    **/
    List<CRouteInfo> webListPage(@Param("params") Map<String, Object> params, Page page);

    /**
     * 用户列表
     *
     * @param params 查询参数
     * @param page   分页
     * @return
     * @author yifeng
     * @date 16:17 2019/11/1
     **/
    List<CRouteInfo> getMemberListPage(@Param("params") Map<String, Object> params, Page page);
    /***
    * c端路线分析
    * @Date 10:25 2019/10/29
    * @param params
    * @param page
    * @return
    **/
    List<CRouteInfo> routeInfoMobileList(@Param("params")Map<String, Object> params, Page page);

    /***
    * 计算平均路程和时间
    * @Date 10:29 2019/10/29
    * @param params
    * @return
    **/
    Map<String,Object> avgDistanceAndTime(@Param("params") Map<String, Object> params);

    long getDataTotalByRouteId(@Param("routeId") String routeId);

    /**
     * 路线详情
     *
     * @param params 查询参数
     * @return
     * @author yifeng
     * @date 16:17 2019/11/1
     **/
    List<CRouteInfo> getDetailRouteList(@Param(value = "params") Map<String, Object> params);

    /***
    * 获取会员路线分析数据
    * @Date 14:49 2019/11/8
    * @param routeId
    * @param memberId
    * @return
    **/
    List<CRouteInfo> getRouteByMemberIdAndRouteId(@Param("routeId") String routeId, @Param("memberId") String memberId);

    /***
     * c端路线分析
     * @Date 10:25 2019/10/29
     * @param params
     * @return
     **/
    CRouteInfo getRouteInfoOne(@Param("params")Map<String, Object> params);

}
